package br.com.scv.bean;

import java.util.ArrayList;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

import br.com.scv.exception.RNException;
import br.com.scv.logic.VagaLogic;
import br.com.scv.logicImp.VagaLogicImp;
import br.com.scv.model.Vaga;

public class VagaBean {

	private Vaga vaga;
	private List<Vaga> vagas;
	
	public VagaBean(){
		vaga = new Vaga();
	}

	public Vaga getVaga() {
		return vaga;
	}

	public void setVaga(Vaga vaga) {
		this.vaga = vaga;
	}

	public List<Vaga> getVagas() {
		VagaLogic logic = new VagaLogicImp();
		List<Vaga> vagas = new ArrayList<Vaga>();
		try {
			vagas = logic.listar();
		} catch (RNException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return vagas;
	}
	
	//metodos
	
	public void salvar(){
		FacesMessage msg = new FacesMessage();
		FacesContext context = FacesContext.getCurrentInstance();
		String mensagem = null;
		try {
			VagaLogic logic = new VagaLogicImp();
			logic.salvar(vaga);
			vaga = new Vaga();	
			msg.setSeverity(FacesMessage.SEVERITY_INFO);
			mensagem = "Vaga cadastrado com sucesso";
		} catch (RNException e) {
			msg.setSeverity(FacesMessage.SEVERITY_ERROR);
			mensagem = e.getMessage();
		} finally {
			msg.setSummary(mensagem);
			context.addMessage(null, msg);
		}
		
	}
	
		public void editar(){
				
				try {
					VagaLogic logic = new VagaLogicImp();
					logic.editar(vaga);
					vaga = new Vaga();
				} catch (RNException e) {
					// TODO Auto-generated catch block
				}
			}

		public void cancelaEditar(){
			vaga = new Vaga();
		}
		
		public void excluir(){
			
			try {
				VagaLogic logic = new VagaLogicImp();
				logic.excluir(vaga);
				vaga = new Vaga();
			} catch (RNException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

}
